CHR for XSB

نویسندگان

  • Tom Schrijvers
  • David S. Warren
  • Bart Demoen
چکیده

XSB is a highly declarative programming system consisting of Prolog extended with tabled resolution. It is useful for many tasks, some of which require constraint solving. Thus flexible and high level support for constraint systems is required. Constraint Handling Rules is exactly such a high level language embedded in Prolog for writing application tailored constraint solvers. In this paper we present the integration of a CHR system in the XSB system and especially our findings on how to integrate CHR with tabled resolution, such as how to deal with issues as call abstraction of constraints, constraint store merging, answer store projection and constraint store representations for tabling. We illustrate the power of the XSB-CHR combination with two examples in the field of model checking. It is indeed possible to quickly write application specific constraint solvers, experiment with them and achieve a reasonable performance and high readability. The combination of XSB’s goal-driven fixpoint execution model with CHR’s committed choice bottom-up approach has proven not only feasible, but considerably useful as well.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Constraint Handling Rules and Tabled Execution

Both Constraint Handling Rules (CHR) and tabling as implemented in XSB are powerful enhancements of Prolog systems, based on fix point computation. Until now they have only been implemented in separate systems. This paper presents the work involved in porting a CHR system to XSB and in particular the technical issues related to the integration of CHR with tabled resolution. These issues include...

متن کامل

Analysis and Optimization of CHR Programs

Introduction. Constraint Handling Rules (CHR) [2] is a high-level, powerful, yet relatively simple “no box” CLP language, embedded in a host language, commonly Prolog. It is based on multi-headed committed-choice rules. Recent implementations of CHR consist of a compiler which translates a CHR program to host language code, and a run-time system implementing the constraint store. Originally, CH...

متن کامل

Analyses, Optimizations and Extensions of Constraint Handling Rules: Ph.D. Summary

This is a summary of the Ph.D. thesis of Tom Schrijvers [4]. Constraint Handling Rules (CHR) [3] is a rule-based language commonly embedded in a host language. It combines elements of Constraint Logic Programming and term rewriting. Several implementations of CHR exist: in Prolog, Haskell, Java and HAL. Typical applications of CHR are in the area of constraint solving, but currently CHR is also...

متن کامل

XSB: An Overview of its Use and Implementation

Several features of the XSB Logic Programming System make it suitable as a database engine including: its foundation on SLG resolution, its eeciency for memory-resident queries, and its exibility for for data modelling. SLG resolution is a goal-directed resolution strategy that uses memoing and delay to compute the well-founded semantics for general programs. In doing so, XSB eliminates problem...

متن کامل

Xsb as an Eecient Deductive Database Engine

This paper describes the XSB system, and its use as an in-memory deductive database engine. XSB began from a Prolog foundation, and traditional Prolog systems are known to have serious deeciencies when used as database systems. Accordingly, XSB has a fundamental bottom-up extension, introduced through tabling (or memoing) 5], which makes it appropriate as an underlying query engine for deductiv...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2008